<?php
$err = array();
foreach ($_GET as $key => $value) {
    $get[$key] = filter($value); //get variables are filtered.
}

if (isset($_POST['doLogin']) && $_POST['doLogin'] == 'Login') {

    foreach ($_POST as $key => $value) {
        $data[$key] = filter($value); // post variables are filtered
    }


    $user_email = $data['usr_email'];
    $pass = $data['pwd'];




    $result = mysql_query("SELECT idUtilisateur, nomUtilisateur, prenomUtilisateur,  MdPUtilisateur, courrielUtilisateur, approved, confirme  FROM Utilisateur WHERE courrielUtilisateur='" . $user_email . "' AND banned = '0'") or die(mysql_error());

    // echo "SELECT idUtilisateur, nomUtilisateur, prenomUtilisateur,  MdPUtilisateur, courrielUtilisateur, approved FROM Utilisateur WHERE courrielUtilisateur='" . $user_email . "' AND banned = '0'";
    $num = mysql_num_rows($result);

    // Match row found with more than 1 results  - the user is authenticated. 
    if ($num > 0) {
        list($idUtilisateur, $nomUtilisateur, $prenomUtilisateur, $MdPUtilisateur, $courrielUtilisateur, $approved, $confirme ) = mysql_fetch_row($result);
        $res_statut = mysql_query("SELECT idStatut from utilisateur_statut where idUtilisateur=" . $idUtilisateur);
        $statuts = ";";
        while (list($l_statut) = mysql_fetch_array($res_statut)) {
            $statuts = $statuts . $l_statut . ';';
        }

        if (!$approved) {
            //$msg = urlencode("Account not activated. Please check your email for activation code");
            $err[] = "Votre compte n'est pas activé. Merci de vérifier vos emails pour obtenir le code d'activation";

            //header("Location: login.php?msg=$msg");
            //exit();
        }

        //check against salt        
        if ($MdPUtilisateur === PwdHash($pass, substr($MdPUtilisateur, 0, 9))) {
            if (empty($err)) {

                // this sets session and logs user in  

                session_regenerate_id(true); //prevent against session fixation attacks.
                // this sets variables in the session 
                $_SESSION['idUtilisateur'] = $idUtilisateur;
                $_SESSION['nomUtilisateur'] = $nomUtilisateur;
                $_SESSION['prenomUtilisateur'] = $prenomUtilisateur;
                $_SESSION['courrielUtilisateur'] = $courrielUtilisateur;
                $_SESSION['statuts'] = $statuts;
                $_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']);

                //update the timestamp and key for cookie
                $stamp = time();
                $ckey = GenKey();
                mysql_query("update Utilisateur set `ctime`='$stamp', `ckey` = '$ckey' where idUtilisateur='$idUtilisateur'") or die(mysql_error());
                if(isset($_SESSION['commandeEnCours'])){
                    $rqt_liaison_cmd_utilisateur = "UPDATE Commande SET idUtilisateur=".$idUtilisateur." WHERE idCommande=".$_SESSION['commandeEnCours'];
                    mysql_query($rqt_liaison_cmd_utilisateur) or die("Erreur : ".$rqt_liaison_cmd_utilisateur);
                }
                //set a cookie 

                if (isset($_POST['remember'])) {
                    setcookie("idUtilisateur", $_SESSION['idUtilisateur'], time() + 60 * 60 * 24 * COOKIE_TIME_OUT, "/");
                    setcookie("user_key", sha1($ckey), time() + 60 * 60 * 24 * COOKIE_TIME_OUT, "/");
                    setcookie("courrielUtilisateur", $_SESSION['courrielUtilisateur'], time() + 60 * 60 * 24 * COOKIE_TIME_OUT, "/");
                }
                if ($confirme == 1) {
                    if (isset($_SESSION['lienCible'])) {
                        $lien = $_SESSION['lienCible'];
                        unset($_SESSION['lienCible']);
                        
                        
                        header("Location: " . $lien);
                    } else {
                        echo "truc;";
                       header("Location: " . $lien_absolu . "index.php");
                    }
                } else {
                    header("Location: index.php?page=informations&opt=confirm");
                }
            }
        } else {
            //$msg = urlencode("Invalid Login. Please try again with correct user email and password. ");
            $err[] = "Informations incorrectes. Essayez avec une adresse email et un mot de passe corrects.";
            //header("Location: login.php?msg=$msg");
        }
    } else {
        $err[] = "Erreur - Cet utilisateur n'existe pas.";
    }
}
?>
<br><br><br>
<center>
    <div class="boite" style="width:670px; height: 250px">
        <h3>Connexion</h3>
        <p align="center">
<?php

/* * ****************** ERROR MESSAGES*************************************************
  This code is to show error messages
 * ************************************************************************ */
if (!empty($err)) {
    echo "<div class=\"attention\">";
    foreach ($err as $e) {
        echo "$e <br>";
    }
    echo "</div>";
}
/* * ***************************** END ******************************* */
?></p>
        <div style="width:320px;border-right: solid 1px #77b4e8;display: inline-block"> 
            <form action="index.php?page=login" method="post" name="logForm" id="logForm" >
                <table width="300px" class="formulaire">
                    <tr>             
                        <td width="28%">Email</td>
                        <td width="72%"><input name="usr_email" class="validate[required,custom[email]]" type="email" id="txtbox" size="20"></td>          
                    </tr>
                    <tr>
                        <td>Mot de passe</td>
                        <td><input name="pwd" type="password" class="validate[required]" id="txtbox" size="20"></td>
                    </tr>
                    <tr> 
                        <td colspan="2"><div align="center">
                                <input name="remember" type="checkbox" id="remember" value="1">
                                Se souvenir de moi</div></td>
                    </tr>
                    <tr> 
                        <td colspan="2"><div align="center"> 
                                <p> 
                                    <input name="doLogin" type="submit" id="doLogin3" value="Login">
                                </p>
                                <p><a href="index.php?page=forgot">Mot de passe oubli&eacute;</a></p>                
                            </div></td>
                    </tr>
                </table>
            </form>
        </div>
        <div style="width:320px;display: inline-block;text-align: center;vertical-align: top">
            <h3>Vous n'avez pas de compte CATEL ?<br>Inscrivez-vous !</h3>
            <br>
            <br>
            <a href="index.php?page=nouveau" class="bouton1">M'inscrire</a>

        </div>
    </div>
</center>
